// 验证token合法性
function checktoken() {
  // 返回一个异步函数
  return async function(ctx, next) {
    try {
      // 获取前端发送过来的token
      let token = ctx.request.header.token;
      // 验证token
      let rel = ctx.app.jwt.verify(token, ctx.app.config.jwt.secret);
      // 验证jwt封装的admin属性
      if (rel.admin) {
        // 放行
        await next();
      } else {
        ctx.body = { code: 40000, msg: '用户校验失败' };
      }
    } catch (e) {
      ctx.body = { code: 40000, msg: '用户校验失败' };
    }
  }
}

module.exports = checktoken;
